package com.yhn.mapper;

import com.hospital.common.dto.section.SectionStatsDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;
@Mapper
public interface SectionStatsMapper {
    /**
     * 获取所有未删除的板块ID列表
     */
    List<Long> findAllActiveSectionIds();

    /**
     * 获取板块统计基础数据
     */
    SectionStatsDto getSectionStatsData(@Param("sectionId") Long sectionId);

    /**
     * 更新板块质量率和参与度
     */
    int updateSectionStats(@Param("sectionId") Long sectionId,
                           @Param("qualityRatio") Double qualityRatio,
                           @Param("participation") Long participation);

    /**
     * （可选）在同一事务内先锁定行，避免并发写导致的等待不确定
     */
    void lockSectionForUpdate(@Param("sectionId") Long sectionId);



}
